//上传凭证
$(function() {
    var delParent;
    var defaults = {
        fileType : ["jpg","png","bmp","jpeg"],// 上传文件的类型
        fileSize : 1024 * 1024 * 10 // 上传文件的大小 10M
    };
    /*点击图片的文本框*/
    $(".close-upimg").click(function () {
        //input内容清空
        $(this).val("");
    })

    $("#pictureAddressOne").change(function(){
        var idFile = $(this).attr("id");

        var file = document.getElementById(idFile);
        var imgContainer = $(this).parents(".z_photo"); //存放图片的父亲元素
        var fileList = file.files; //获取的图片文件
        var input = $(this).parent();//文本框的父亲元素
        var imgArr = [];
        //遍历得到的图片文件
        var numUp = imgContainer.find(".up-section").length;
        var totalNum = numUp + fileList.length;  //总的数量
        if(fileList.length > 1 || totalNum > 1 ){
            alert("上传图片数目不可以超过1个，请重新选择");  //一次选择上传超过5个 或者是已经上传和这次上传的到的总数也不可以超过5个
        }
        else if(numUp < 1){
            fileList = validateUp(fileList);
            for(var i = 0;i<fileList.length;i++){
                var imgUrl = window.URL.createObjectURL(fileList[i]);
                imgArr.push(imgUrl);
                var $section = $("<section class='up-section fl loading' id='up-section-one'>");
                imgContainer.prepend($section);
                var $span = $("<span class='up-span'>");
                $span.appendTo($section);

                var $img0 = $("<img class='close-upimg'> id='close-upimg-one'").on("click",function(event){
                    event.preventDefault();
                    event.stopPropagation();
                    $("#works-mask-one").show();
                    delParent = $(this).parent();
                });
                $img0.attr("src","static/images/close.png").appendTo($section);
                var $img = $("<img class='up-img up-opcity' id='up-img-one'>");
                $img.attr("src",imgArr[i]);
                $img.appendTo($section);
                var $p = $("<p class='img-name-p'>");
                $p.html(fileList[i].name).appendTo($section);
                var $input = $("<input id='taglocation' name='taglocation' value='' type='hidden'>");
                $input.appendTo($section);
                var $input2 = $("<input id='tags' name='tags' value='' type='hidden'/>");
                $input2.appendTo($section);

            }
        }
        setTimeout(function(){
            $("#up-section-one").removeClass("loading");
            $("#up-img-one").removeClass("up-opcity");
        },450);
        numUp = imgContainer.find(".up-section").length;
        if(numUp >= 1){
            $(this).parent().hide();
        }

    });

    $("#z_photo-one").delegate("#close-upimg-one","click",function(){
        $("#works-mask-one").show();
        delParent = $(this).parent();
    });

    $("#wsdel-ok-one").click(function(){
        $("#works-mask-one").hide();
        var numUp = delParent.siblings().length;
        if(numUp < 6){
            delParent.parent().find(".z_file").show();
        }
        delParent.remove();
        $("#pictureAddressOne").val("");
    });

    $("#wsdel-no-one").click(function(){
        $("#works-mask-one").hide();
    });

    function validateUp(files){
        var arrFiles = [];//替换的文件数组
        var fileNames='';//文件名称
        for(var i = 0, file; file = files[i]; i++){
            //获取文件上传的后缀名
            var newStr = file.name.split("").reverse().join("");
            if(newStr.split(".")[0] != null){
                var type = newStr.split(".")[0].split("").reverse().join("");
                if(jQuery.inArray(type, defaults.fileType) > -1){
                    // 类型符合，可以上传
                    if (file.size >= defaults.fileSize) {
                        alert(file.size);
                        alert('您这个"'+ file.name +'"文件大小过大');
                    } else {
                        // 在这里需要判断当前所有文件中
                        arrFiles.push(file);
                    }
                }else{
                    alert('您这个"'+ file.name +'"上传类型不符合');
                }
            }else{
                alert('您这个"'+ file.name +'"没有类型, 无法识别');
            }
        }
        return arrFiles;
    }
});

//保存
function save() {

    //上传图片（因为没有删除操作，所以不需要考虑修改页面删除图片的情况）
    if (actionUrl == "admin/portalUserInfo/add") {
        if($("#pictureAddressOne").val()==""){
            $("#pictureAddressOne").tips({
                side:3,
                msg:'请上传用户头像',
                bg:'#AE81FF',
                time:2
            });
            $("#pictureAddressOne").focus();
            return false;
        }
    }

    //用户昵称（新增不能重复，进入修改页面不允许修改）
    if ($("#nickName").val() == "") {
        $("#nickName").tips({
            side: 3,
            msg: '输入用户昵称',
            bg: '#AE81FF',
            time: 2
        });
        $("#nickName").focus();
        return false;
    } else {
        $("#nickName").val($.trim($("#nickName").val()));
    }

    //用户手机号（新增和修改不能重复，进入修改页面不修改当然没问题）
    if ($("#loginPhoneNumber").val() == "") {
        $("#loginPhoneNumber").tips({
            side: 3,
            msg: '输入用户手机号',
            bg: '#AE81FF',
            time: 2
        });
        $("#loginPhoneNumber").focus();
        return false;
    } else if (!$.fn.isMobile($("#loginPhoneNumber").val())) {
        $("#loginPhoneNumber").tips({
            side:3,
            msg:'用户手机号格式不正确',
            bg:'#AE81FF',
            time:2
        });
        $("#loginPhoneNumber").focus();
        return false;
    } else {
        $("#loginPhoneNumber").val($.trim($("#loginPhoneNumber").val()));
    }

    //登录密码
    /*if($("#loginPassword").val()==""){
        $("#loginPassword").tips({
            side:3,
            msg:'输入登录密码',
            bg:'#AE81FF',
            time:2
        });
        $("#loginPassword").focus();
        return false;
    }else if(!$.fn.isPwd($("#loginPassword").val())){
        $("#loginPassword").tips({
            side:3,
            msg:'密码格式不正确，密码应由数字和字母组成，不能是纯数字或者纯字母，长度为6至20位',
            bg:'#AE81FF',
            time:5
        });
        $("#loginPassword").focus();
        return false;
    }else{
        $("#loginPassword").val($.trim($("#loginPassword").val()));
    }*/

    //登录确认密码
    /*if ($("#loginPassword").val() != $("#reLoginPassword").val()) {
        $("#reLoginPassword").tips({
            side:3,
            msg:'登录确认密码要和登录密码保持一致',
            bg:'#AE81FF',
            time:2
        });
        return false;
    }*/

    //如果真实姓名不为空（身份证号也不能为空）
    if ($("#realName").val() != "") {
        if ($("#idNumber").val() == "") {
            $("#idNumber").tips({
                side: 3,
                msg: '输入身份证号',
                bg: '#AE81FF',
                time: 2
            });
            $("#idNumber").focus();
            return false;
        } else if (!$.fn.isIdCard($("#idNumber").val())) {
            $("#idNumber").tips({
                side: 3,
                msg: '身份证号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#idNumber").focus();
            return false;
        } else {
            $("#idNumber").val($.trim($("#idNumber").val()));
        }
    }

    //身份证号
    if ($("#idNumber").val() != "") {
        if (!$.fn.isIdCard($("#idNumber").val())) {
            $("#idNumber").tips({
                side: 3,
                msg: '身份证号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#idNumber").focus();
            return false;
        } else {
            $("#idNumber").val($.trim($("#idNumber").val()));
        }

        if ($("#realName").val() == "") {
            $("#realName").tips({
                side: 3,
                msg: '输入真实姓名',
                bg: '#AE81FF',
                time: 2
            });
            $("#realName").focus();
            return false;
        } else {
            $("#realName").val($.trim($("#realName").val()));
        }
    }

    //持卡人姓名不为空
    if ($("#bankCardName").val() != "") {
        //银行卡号
        if ($("#bankCardNumber").val() == "") {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '输入银行卡号',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else if (!$.fn.isBankNo($("#bankCardNumber").val())) {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '银行卡号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else {
            $("#bankCardNumber").val($.trim($("#bankCardNumber").val()));
        }

        //开户银行
        if($("#bankCode").val() == "") {
            $("#bankCodeSelect").tips({
                side: 3,
                msg: '请选择开户银行',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCode").focus();
            return false;
        }else{
            $("#bankCode").val($.trim($("#bankCode").val()));
        }

        //银行预留手机号
        if ($("#bankPhoneNumber").val() == "") {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '输入银行预留手机号',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else if (!$.fn.isMobile($("#bankPhoneNumber").val())) {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '银行预留手机号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else {
            $("#bankPhoneNumber").val($.trim($("#bankPhoneNumber").val()));
        }

        //开户支行
        if ($("#bankSubBranch").val() == "") {
            $("#bankSubBranch").tips({
                side: 3,
                msg: '输入开户支行',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankSubBranch").focus();
            return false;
        } else {
            $("#bankSubBranch").val($.trim($("#bankSubBranch").val()));
        }

    }

    //银行卡号
    if ($("#bankCardNumber").val() != "") {
        if (!$.fn.isBankNo($("#bankCardNumber").val())) {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '银行卡号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else {
            $("#bankCardNumber").val($.trim($("#bankCardNumber").val()));
        }

        //持卡人姓名
        if ($("#bankCardName").val() == "") {
            $("#bankCardName").tips({
                side: 3,
                msg: '输入持卡人姓名',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardName").focus();
            return false;
        } else {
            $("#bankCardName").val($.trim($("#bankCardName").val()));
        }

        //开户银行
        if($("#bankCode").val() == "") {
            $("#bankCodeSelect").tips({
                side: 3,
                msg: '请选择开户银行',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCode").focus();
            return false;
        }else{
            $("#bankCode").val($.trim($("#bankCode").val()));
        }

        //银行预留手机号
        if ($("#bankPhoneNumber").val() == "") {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '输入银行预留手机号',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else if (!$.fn.isMobile($("#bankPhoneNumber").val())) {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '银行预留手机号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else {
            $("#bankPhoneNumber").val($.trim($("#bankPhoneNumber").val()));
        }

        //开户支行
        if ($("#bankSubBranch").val() == "") {
            $("#bankSubBranch").tips({
                side: 3,
                msg: '输入开户支行',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankSubBranch").focus();
            return false;
        } else {
            $("#bankSubBranch").val($.trim($("#bankSubBranch").val()));
        }

    }

    //开户银行
    if ($("#bankCode").val() != "") {
        //持卡人姓名
        if ($("#bankCardName").val() == "") {
            $("#bankCardName").tips({
                side: 3,
                msg: '输入持卡人姓名',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardName").focus();
            return false;
        } else {
            $("#bankCardName").val($.trim($("#bankCardName").val()));
        }
        //银行卡号
        if ($("#bankCardNumber").val() == "") {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '输入银行卡号',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else if (!$.fn.isBankNo($("#bankCardNumber").val())) {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '银行卡号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else {
            $("#bankCardNumber").val($.trim($("#bankCardNumber").val()));
        }
        //银行预留手机号
        if ($("#bankPhoneNumber").val() == "") {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '输入银行预留手机号',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else if (!$.fn.isMobile($("#bankPhoneNumber").val())) {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '银行预留手机号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else {
            $("#bankPhoneNumber").val($.trim($("#bankPhoneNumber").val()));
        }
        //开户支行
        if ($("#bankSubBranch").val() == "") {
            $("#bankSubBranch").tips({
                side: 3,
                msg: '输入开户支行',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankSubBranch").focus();
            return false;
        } else {
            $("#bankSubBranch").val($.trim($("#bankSubBranch").val()));
        }
    }

    //银行预留手机号
    if ($("#bankPhoneNumber").val() != "") {
        if (!$.fn.isMobile($("#bankPhoneNumber").val())) {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '银行预留手机号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else {
            $("#bankPhoneNumber").val($.trim($("#bankPhoneNumber").val()));
        }
        //持卡人姓名
        if ($("#bankCardName").val() == "") {
            $("#bankCardName").tips({
                side: 3,
                msg: '输入持卡人姓名',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardName").focus();
            return false;
        } else {
            $("#bankCardName").val($.trim($("#bankCardName").val()));
        }
        //银行卡号
        if ($("#bankCardNumber").val() == "") {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '输入银行卡号',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else if (!$.fn.isBankNo($("#bankCardNumber").val())) {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '银行卡号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else {
            $("#bankCardNumber").val($.trim($("#bankCardNumber").val()));
        }
        //开户银行
        if($("#bankCode").val() == "") {
            $("#bankCodeSelect").tips({
                side: 3,
                msg: '请选择开户银行',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCode").focus();
            return false;
        }else{
            $("#bankCode").val($.trim($("#bankCode").val()));
        }
        //开户支行
        if ($("#bankSubBranch").val() == "") {
            $("#bankSubBranch").tips({
                side: 3,
                msg: '输入开户支行',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankSubBranch").focus();
            return false;
        } else {
            $("#bankSubBranch").val($.trim($("#bankSubBranch").val()));
        }
    }

    //开户支行
    if ($("#bankSubBranch").val() != "") {
        //持卡人姓名
        if ($("#bankCardName").val() == "") {
            $("#bankCardName").tips({
                side: 3,
                msg: '输入持卡人姓名',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardName").focus();
            return false;
        } else {
            $("#bankCardName").val($.trim($("#bankCardName").val()));
        }
        //银行卡号
        if ($("#bankCardNumber").val() == "") {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '输入银行卡号',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else if (!$.fn.isBankNo($("#bankCardNumber").val())) {
            $("#bankCardNumber").tips({
                side: 3,
                msg: '银行卡号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCardNumber").focus();
            return false;
        } else {
            $("#bankCardNumber").val($.trim($("#bankCardNumber").val()));
        }
        //开户银行
        if($("#bankCode").val() == "") {
            $("#bankCodeSelect").tips({
                side: 3,
                msg: '请选择开户银行',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankCode").focus();
            return false;
        }else{
            $("#bankCode").val($.trim($("#bankCode").val()));
        }
        //银行预留手机号
        if ($("#bankPhoneNumber").val() == "") {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '输入银行预留手机号',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else if (!$.fn.isMobile($("#bankPhoneNumber").val())) {
            $("#bankPhoneNumber").tips({
                side: 3,
                msg: '银行预留手机号格式不正确',
                bg: '#AE81FF',
                time: 2
            });
            $("#bankPhoneNumber").focus();
            return false;
        } else {
            $("#bankPhoneNumber").val($.trim($("#bankPhoneNumber").val()));
        }
    }

    //如果开户支行名称为空
    /*if ($.trim($("#bankSubBranch").val()) == "") {
        $('#province option:selected').val("");
        $('#city option:selected').val("");
        $('#district option:selected').val("");
    }*/

    //如果开户支行名称不为空
    if ($.trim($("#bankSubBranch").val()) != "") {
        if ($("#province").val() == "") {
            $("#province").tips({
                side: 3,
                msg: '请选择省',
                bg: '#AE81FF',
                time: 2
            });
            $("#province").focus();
            return false;
        }
        if ($("#city").val() == "") {
            $("#city").tips({
                side: 3,
                msg: '请选择市',
                bg: '#AE81FF',
                time: 2
            });
            $("#city").focus();
            return false;
        }
        if ($("#district").val() == "") {
            $("#district").tips({
                side: 3,
                msg: '请选择区',
                bg: '#AE81FF',
                time: 2
            });
            $("#district").focus();
            return false;
        }
    }

    //用户等级
    if ($("#userLevel").val() != "") {
        if (!$.fn.isPositiveInteger($("#userLevel").val())) {
            $("#userLevel").tips({
                side: 3,
                msg: '用户等级必须是正整数',
                bg: '#AE81FF',
                time: 2
            });
            $("#userLevel").focus();
            return false;
        } else {
            $("#userLevel").val($.trim($("#userLevel").val()));
        }
    }

    //验证用户昵称、登录手机号不能重复，如果重复给出提示，没有重复提交表单
    validateSameNickName();
}

//验证用户昵称不能重复
function validateSameNickName() {
    $.ajax({
        url : path + "/admin/portalUserInfo/validateSameNickName",
        type : "post",
        dataType : "json",
        data : decodeURIComponent($("#form").serialize(), true),
        success : function (data) {
            if (data.code == 400) {
                top.hangge();
                bootbox.dialog({
                    message: "<span class='bigger-110'>" + data.msg + "</span>",
                    buttons: {
                        "button" : {
                            "label" : "确定",
                            "className" : "btn-sm btn-success"
                        }
                    }
                });
            } else {
                validateSameLoginPhoneNumber();
            }
        }
    });
}

//验证登录手机号不能重复
function validateSameLoginPhoneNumber() {
    $.ajax({
        url : path + "/admin/portalUserInfo/validateSameLoginPhoneNumber",
        type : "post",
        dataType : "json",
        data : decodeURIComponent($("#form").serialize(), true),
        success : function (data) {
            if (data.code == 400) {
                top.hangge();
                bootbox.dialog({
                    message: "<span class='bigger-110'>" + data.msg + "</span>",
                    buttons: {
                        "button" : {
                            "label" : "确定",
                            "className" : "btn-sm btn-success"
                        }
                    }
                });
            } else {
                $("#form").submit();
                $("#zhongxin").hide();
                $("#zhongxin2").show();
            }
        }
    });
}

$(function() {
    //下拉框
    if(!ace.vars['touch']) {
        $('.chosen-select').chosen({allow_single_deselect:true});
        $(window)
            .off('resize.chosen')
            .on('resize.chosen', function() {
                $('.chosen-select').each(function() {
                    var $this = $(this);
                    $this.next().css({'width': $this.parent().width()});
                });
            }).trigger('resize.chosen');
        $(document).on('settings.ace.chosen', function(e, event_name, event_val) {
            if(event_name != 'sidebar_collapsed') return;
            $('.chosen-select').each(function() {
                var $this = $(this);
                $this.next().css({'width': $this.parent().width()});
            });
        });
        $('#chosen-multiple-style .btn').on('click', function(e){
            var target = $(this).find('input[type=radio]');
            var which = parseInt(target.val());
            if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
            else $('#form-field-select-4').removeClass('tag-input-style');
        });
    }
});

$(function() {
    $("#province").change(function() {
        var options = $("#province option:selected");
        if(options.text() != "选择所在的省份"){
            $.post(path + "/admin/portalUserInfo/getAreaList", {"parentId":options.val()}, function (data) {
                if(data.code == 200){
                    var array = data.data;
                    if(array != null && array.length > 0){
                        $("#city").html('<option value="">请选择所在的市</option>');
                        $("#district").html('<option value="">请选择所在的区/县</option>');
                        for(var i=0; i<array.length; i++){
                            if(i == 0){
                                $("#city").append('<option selected value="' + array[i].regionId + '">' + array[i].regionName + '</option>');
                            }else{
                                $("#city").append('<option value="' + array[i].regionId + '">' + array[i].regionName + '</option>');
                            }
                        }
                        var parentId = array[0].regionId;
                        getAreaList(parentId);
                    }
                }
            });
        }else{
            $("#city").html('<option selected value="">请选择所在的市</option>');
            $("#district").html('<option selected value="">请选择所在的区/县</option>');
        }
    });

    $("#city").change(function() {
        var options=$("#city option:selected");
        if(options.text()!="请选择所在的市"){
            getAreaList(options.val());
        }
        $("#district").html('<option selected value="">请选择所在的区/县</option>');
    });
});

function getAreaList(name) {
    $.post(path + "/admin/portalUserInfo/getAreaList", {"parentId":name}, function (data) {
        if(data.code == 200) {
            var array = data.data;
            if (array != null && array.length > 0) {
                for (var i = 0; i < array.length; i++) {
                    if(i == 0){
                        $("#district").append('<option selected value="' + array[i].regionId + '">' + array[i].regionName + '</option>');
                    }else {
                        $("#district").append('<option value="' + array[i].regionId + '">' + array[i].regionName + '</option>');
                    }
                }
            }
        }
    });
}
